package com.rw.tool.util.expression.expression.calculator.element;

import com.rw.tool.util.expression.element.Calculation;

import java.math.BigDecimal;

/**
 * 计算器元素
 */
public abstract class CalculatorElement {
    /**
     * 判断该计算元素是否为目标元素
     *
     * @param calculation 计算符号
     * @return 是否为目标符号
     */
    public abstract boolean trigger(Calculation calculation);

    /**
     * 使用目标符号进行计算
     *
     * @param leftNumber  左元素
     * @param calculation 计算符号
     * @param rightNumber 右元素
     * @return 结果
     */
    public abstract BigDecimal handler(BigDecimal leftNumber, Calculation calculation, BigDecimal rightNumber);
}
